package com.woniuxy.controller;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.woniuxy.controller.form.*;
import com.woniuxy.exception.DdException;
import com.woniuxy.service.PawnAttrGroupService;
import com.woniuxy.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author hujianying
 * @since 2022-03-23
 */
@RestController
@RequestMapping("/pawnAttrGroup")
@Api(tags = "属性组相关接口")
public class PawnAttrGroupController {


    /**
     * 属性组业务层
     */
    @Resource
    private PawnAttrGroupService pags;

    /**
     * 获取所有属性组信息
     * @return data返回GroupCatInfo
     */
    @ApiOperation("获取所有属性组信息")
    @GetMapping("/getAllGroupCat")
    public Result getAllGroupCat(GroupForm gf){
        return pags.getAllGroupCat(gf);
    }

    /**
     * 根据group_name模糊查询
     * @param gf 参数为str
     * @return data返回GroupCatInfo
     */
    @ApiOperation("根据group_name模糊查询")
    @GetMapping("/getGroupCatByLike")
    public Result getGroupCatByLike(GroupForm gf) throws DdException {
        return pags.getGroupCatByLike(gf);
    }

    /**
     * 根据group_code删除
     * @param dgf group_code集合
     * @return data为null
     */
    @ApiOperation("根据group_code删除")
    @PostMapping("/deleteGroupByGid")
    public Result deleteGroupByGid(@RequestBody DeleteGroupFrom dgf) throws DdException {
        return pags.deleteGroupByGid(dgf);
    }

    /**
     * 根据groupCode查询
     * @param sgf groupCode
     * @return SaveGroupInfo
     */
    @ApiOperation("根据groupCode查询")
    @GetMapping("/getGroupByCode")
    public Result getGroupByCode(SaveGroupForm sgf){
        return pags.getGroupByCode(sgf);
    }

    /**
     * 修改属性
     * @param sgf 商品属性组信息
     * @return data为null
     */
    @ApiOperation("修改属性")
    @PostMapping("/saveGroupByCode")
    public Result saveGroupByCode(@RequestBody SaveGroupForm sgf) throws DdException {
        return pags.saveGroupByCode(sgf);
    }

    /**
     * 查询所有大类名
     * @return
     */
    @ApiOperation("查询所有大类名")
    @GetMapping("/getAllDProduct")
    public Result getAllDProduct(){
        return pags.getAllDProduct();
    }

    /**
     * 新增商品属性分组
     * @param angf
     * @return
     */
    @ApiOperation("新增商品属性分组")
    @PostMapping("/addNewGroup")
    public Result addNewGroup(@RequestBody AddNewGroupForm angf) throws DdException {
        return pags.addNewGroup(angf);
    }

    /**
     * 根据大类id获取所有属性组名
     * @param gcbccf groupCode
     * @return
     */
    @ApiOperation("根据大类id获取所有属性组名")
    @GetMapping("/getAllGroupName")
    public Result getAllGroupName(GetConfByCatCodeForm gcbccf){
        return pags.getAllGroupName(gcbccf);
    }



}

